﻿Public Class SigortaliGYSKayit
	Inherits Process

	Public Overrides Sub GenericEvent(ByVal e As ProcessEventArgs)
		Select Case e.EventType
			Case EventType.Initialize
				Start("Geçindirmekle yükümlü kaydı", "Sigortalı bilgisini girin.")
				AddSigortali()
				StartBody()
				AddList()
				AddReport()
				List.AddColumns("gecerli(;c;24),yakinlik(Yakınlığı;l;120),dtar(Doğum Tar.;d;80),kimlik(Kimlik No.;c;90),adi(Adı Soyadı;l;100%),bastar(Baş.Tar.;d;80),sontar(Son Tar.;d;80),rowid(h)")
				List.HandleEnter = True
			Case EventType.Shown
				SetVisibility("List,-Report") = True
			Case EventType.Shown
				If Not Arguments.ContainsKey("sno") Then Exit Sub
				Input("Sigortali") = Arguments("sno")
				MyBase.OnValidate()
			Case EventType.ValidateForm
				Refresh()
				Help = "Uzatma işlemini yapmak istediğiniz kaydı seçip Enter tuşuna basın veya çift tıklayın."
				Buttons.Show("Print" & If(Arguments.ContainsKey("sno"), "", ".Reset"))
				e.Result = True
			Case EventType.Print
				SetVisibility("List,-Report") = False
			Case EventType.Activate
				Dim Prc As New SigortaliGYSKayitGiris()
				Prc.AddArgument("rowid", List.SelectedRow("rowid"))
				Prc.AddArgument("sno", Input("Sigortali"))
				Window.Launch(Prc, True)
			Case EventType.ReportHeader
				Report.PrintHeader("GEÇİNDİRMEKLE YÜKÜMLÜ LİSTESİ")
			Case EventType.PageHeader
				Report.PrintPageHeader("Kimlik No. : " & CType(Controls("Sigortali"), Object).KimlikText, "Döküm Tarihi : " & DMY(Today))
				Report.PrintPageHeader("Sigorta No. : " & Input("Sigortali"), "Adı Soyadı : " & CType(Controls("Sigortali"), Object).AdSoyadText)
				Report.SetColumns("Yakınlığı;Doğum Tar.;Kimlik No.;Adı Soyadı;Baş.Tar.;Son Tar.", "1;1;1;3;1;1", "l;d;c;l;d;d", "--")
				Do Until Rs.EOF
					Report.Print(Rs("yakinlik"), Rs("dtar"), Rs("kimlik"), Rs("adi"), Rs("bastar"), Rs("sontar"))
					Rs.MoveNext()
				Loop
		End Select
	End Sub

	Overrides Sub Refresh()
		Rs = Sigortali.GecindirmekleYukumluListesi(Local, Input("Sigortali"))
		List.DataSource = Rs
		List.AddRow("[+]", "(Yeni Kayıt Ekle)")
	End Sub

End Class

Public Class SigortaliGYSKayitGiris
	Inherits Process

	Public Overrides Sub GenericEvent(ByVal e As ProcessEventArgs)
		Select Case e.EventType
			Case EventType.Initialize
				Text = "Geçindirmekle yükümlü kaydı"
				InitialHelp = "Yakınlık bilgilerini girin."
				AddCombo("@yakinlik", "Yakınlığı", "Eşi|Kız Çocuğu|Erkek Çocuğu", "nl;width=10")
				AddDate("dtar", "Doğum tar.", "nl")
				AddField("kimlik:Kimlik[label=Kimlik no.]", "nl")
				AddField("adi:Ad[label=Adı", "nl")
				AddField("soyadi:Ad[label=Soyadı", "nl")
				NewColumn()
				AddCombo("belgetur", "Belge türü", "1,", "nl;width=12")
				AddText("belgeno", "Belge no.", "nl;width=12")
				AddDate("bastar", "Başlama Tar.", "nl")
				AddDate("sontar", "Bitiş Tar.", "nl")
				'SetSize(512, 400)
			Case EventType.Shown
				If Arguments.ContainsKey("rowid") Then
					rowid = Arguments("rowid")
					If Not rowid = Nothing Then
						Rs = Sigortali.GYS.Oku(Local, rowid)
						SetValues("yakinlik,dtar,kimlik,adi,soyadi", Rs("gysacik"), Rs("gysdtar"), Rs("gyskimlik"), Rs("gysadi"), Rs("gyssoyadi"))
						Enabled("yakinlik,dtar,kimlik,adi,soyadi") = False
					End If
				End If
				Buttons.Show("Save")
			Case EventType.Change
				Select Case e.Name
					Case "yakinlik"
						Select Case Input("yakinlik")
							Case "Eşi"
								Source("belgetur") = "Oİ,Oturma izni|EB,Evlilik belgesi"
								Input("belgetur") = ""
							Case Else
								Source("belgetur") = If(rowid = 0, "DK,Doğum kağıdı", "ÖB,Öğrenci belgesi")
								Input("belgetur") = If(rowid = 0, "DK", "ÖB")
						End Select
				End Select
			Case EventType.ValidateInput
				If e.Name = "dtar" AndAlso Not IsEmpty("dtar") AndAlso rowid = 0 Then SetValues("bastar,sontar", Input("dtar"), CDate(Input("dtar")).AddYears(18))
			Case EventType.Save
				If Check("yakinlik", IsEmpty("yakinlik"), "Yakınlık bilgisini vermek zorundasınız.") Then Exit Sub
				If Check("dtar", IsEmpty("dtar"), "Doğum tarihini belirtmek zorundasınız.") Then Exit Sub
				If Check("kimlik", IsEmpty("kimlik") And Input("yakinlik") = "Eşi", "Eşin kimliğini belirtmek zorundasınız.") Then Exit Sub
				If Check("adi", IsEmpty("adi"), "Yakının adını belirtmek zorundasınız.") Then Exit Sub
				If Check("soyadi", IsEmpty("soyadi"), "Yakının soyadını belirtmek zorundasınız.") Then Exit Sub
				If Check("bastar", IsEmpty("bastar"), "Başlangıç tarihini girmek zorundasınız.") Then Exit Sub
				If Check("sontar", IsEmpty("sontar"), "Bitiş tarihini girmek zorundasınız.") Then Exit Sub
				If Not Confirm("Kaydetmek istediğinizden emin misiniz?") Then Exit Sub
				Sigortali.GYS.Kaydet(Local, rowid, Arguments("sno"), Input("kimlik"), Input("dtar"), Input("adi"), Input("soyadi"), Input("yakinlik"), Input("bastar"), Input("sontar"), Input("belgetur"), Input("belgeno"), User.Kaykul)
		End Select
	End Sub

End Class
